<?php

header('Content-Type:application/json; charset=utf-8'); #返回json
session_start();                //启动session

$input = file_get_contents('php://input');
// echo $input;
$arr = json_decode($input, true);  //转化为普通数据
// $arr = ['name' => '1101', 'pwd' => '123'];
$name = $arr['name'] ?? '';
$pwd = $arr['pwd'] ?? '';

// echo $name . $pwd;
$sql = "SELECT * FROM zyh_student WHERE stu_id = " . $name . " AND stu_pwd = '" . $pwd . "'";



$dbms = 'mysql';     //数据库类型
$host = '127.0.0.1'; //数据库主机名
$dbName = 'g09short';    //使用的数据库
$user = 'root';      //数据库连接用户名
$pass = 'G09short.';          //对应的密码
$dsn = "$dbms:host=$host;dbname=$dbName";

try {
    $dbh = new PDO($dsn, $user, $pass); //初始化一个PDO对象
    $stmt = $dbh->query($sql, PDO::FETCH_ASSOC);

    if ($stmt && $stmt->rowCount()) { //判断结果集对象是否存在,并且结果集数量是否大于0,也就是说是否存在数据

        //rowCount()是结果集中的一个方法，可以返回当前结果集中的记录条数

        $stmt->setFetchMode(PDO::FETCH_ASSOC); //设置结果集的读取方式，这里用的是关联的方式进行读取

        $row = $stmt->fetch(); //获取记录

        $result = [
            'code' => '0',
            'msg' => '登录成功！',
            'data' => $row
        ];
        //验证用户名和密码成功后,session记录
        $_SESSION['userinfo'] = [
            'uid' => $name,
        ];

        // print_r($row);

    } else {
        $result = [
            'code' => '1',
            'msg' => '账号或密码错误',
        ];
    }

    $dbh = null;

    //返回json
    echo json_encode($result);
} catch (PDOException $e) {
    die("Error!: " . $e->getMessage() . "<br/>");
}
